The present invention can be applied to any appropriate device, and is not restricted to any specific structure of device. However, the invention has particular advantage in a flash EPROM which includes electrically reprogrammable single transistor cells with a floating gate, and a plurality of non-reprogrammable elements or UPROM elements. The invention can also be applied where the UPROM elements can be reprogrammed but only by a slow or awkward process.
UPROM cells are used on flash EPROMs (erasable programmable read only memories) to store redundancy information. Bits can also be used to alter a chip's functionality, either to enable optional functionality or to trim analogue voltages or timings. This "trimming" can help to make the chip more tolerant of manufacturing variations. In current memory devices, the UPROM cells are programmed using a test mode by appropriately setting voltages using a program circuit. However, once a bit has been programmed into a UPROM cell, it is not possible to erase it, except possibly by erasing flash transistors used in the UPROM cell, but this is undesirable during testing as this programming and erasing would take a significant amount of time. Thus, it is not possible with existing memory devices to "try out" a trim setting before programming it to its final value.
It would be desirable and it is sometimes necessary to program an option setting early in a test flow because the options affect the results of other tests. However, it is also desirable to allow the choice of trim options to be changed later, perhaps as a result of later tests or tests at another temperature. Also, some of the option bits may affect circuits used during programming of the UPROM cells themselves, in which case it is desirable to be able to use any desired setting during this operation, even though the UPROM cells have obviously not been programmed by this time.